Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

"Προσχεδιασμένα" grid και "κοινή" form

Îåêßíçóå áðü ôï ìÝëïò greko2009. Τελευταία δημοσίευση από το μέλος George Parissis στις 27-10-2011, 13:41. Υπάρχουν 9 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  26-10-2011, 16:53 67919

    "Προσχεδιασμένα" grid και "κοινή" form

    Καλησπέρα,

    Ξεκινάω να φτιάξω μια εφαρμογή σε C# και προσπαθώ να βρώ άκρη με το εξής:

    Εχω φτιάξει μια φόρμα η οποία έχει toolstrip, statusstrip και ένα gridview

    Το σκεπτικό είναι να χρησιμοποιείται η ίδια φόρμα και να αλλάζει μόνο το grid. π.χ. για edit παραμετρικών πινάκων όπως : Εταιρίες, Υποκαταστήματα, Τμήματα, κλπ

    Υλοποιώ 1 φορά τις λογικές , find, filter, export, κλπ και μετά αλλάζω μόνο το grid. 

    Δεν θέλω να φτιάξω 20 διαφορετικές φόρμες με την ίδια λειτουργικότητα.
    Θα μπορούσε κάποιος να με καθοδηγήσει λίγο;

    Ευχαριστώ

     
  •  27-10-2011, 09:08 67923 σε απάντηση της 67919

    Απ: "Προσχεδιασμένα" grid και "κοινή" form

    Φοβάμαι πως η ερώτησή σου απαιτεί πολύ γράψιμο και δύσκολα θα λάβεις απάντηση.

    Δεν μπορεί κάποιος να δώσει μία απάντηση χωρίς να επεκταθεί και να σου κάνει πιο κατανοητή την σκέψη του και αυτό όταν αφορά τον σχεδιασμό μίας εφαρμογής θα είναι σαν να γράφει έκθεση.

    Στην περίπτωσή αυτή θα σου πρότεινα να δουλέψεις με το Strategy Pattern.

    Προσπάθησε να βρεις στο Google άρθρα με περιγραφή Design UI with Strategy Pattern ή Stratgey Pattern and UI ή Combine UI and Strategy Pattern κ.τ.λ . Προσπάθησε να καταλάβεις το Pattern και μετά επανέρχεσαι με πιο συγκεκριμένες ερωτήσεις.

    Από την άλλη μπορεί να σε βοηθήσει κάποιος αν έχει το χρόνο να σου δωσει μία ολοκληρωμένη απάντηση και να σου γράψει ή βρει σχετικό άρθρο και στο κάνει post.

     

  •  27-10-2011, 10:26 67924 σε απάντηση της 67923

    Απ: "Προσχεδιασμένα" grid και "κοινή" form

    Μήπως είναι λίγο υπερβολική η χρήση του εν λόγω pattern για μία απλή διαχείριση lookup πινάκων; Μου ακούγεται σαν το "σκοτώνω μύγα με κανόνι... αν την πετύχω". 

    greko, με τι δομές δεδομένων δουλεύεις; objects? datatables? Βάλε το gridName.Datasource = <your datasource>, δες τι θα γίνει, και θα καταλάβεις ότι μπορείς να κάνεις κάτι γενικό εύκολα, περνώντας κάθε φορά την αντίστοιχη πηγή δεδομένων. Ξεκίνα από κει και νομίζω ότι θα ανοιχτεί ο δρόμος ευκολότερα.

    "When the darkness rises up from inside - that is normal.
    It's when you reach down to pull it up - that the noxious warnings sound."
    Tuzak, Farscape
  •  27-10-2011, 11:47 67925 σε απάντηση της 67924

    Απ: "Προσχεδιασμένα" grid και "κοινή" form

    Ευχαριστώ για την εισήγηση αλλά ακόμα δεν υπάρχουν "δομές", θελω να σχεδιάσω κάτι από την αρχή. 

    Φαντάσου όμως ότι δεν μιλάμε και για τελείως απλές περιπτώσεις όπως (id, description) , ενδέχεται να υπάρχει και κάποιο listbox με lookup σε άλλο πίνακα, κλπ.
    Και φυσικά ,formatting, calculated fields in client, στοίχιση, fonts, τύποι πεδίων, κανόνες συμπλήρωσης οπως (date, time, number, email κλπ)

    Στο εργαλείο που δουλεύω μέχρι σήμερα μπορώ να σχεδιάσω το 'data' form (Sybase Datawindow) και να το βάλω σε οποιο παράθυρο/φόρμα θέλω κρατώντας την βασική λειτουργικότητα της φόρμας/παραθύρου.

    Υποθέτοντας ότι το "παράθυρο"  έχει ένα κουμπί "Save" , τότε αυτό το κουμπί θα καλεί την απαραίτητη function ανάλογα με την οντότητα που γίνεται edit (κάτι σαν function pointers), η ακόμα καλύτερα , αν το grid/form είναι προσχεδιασμένο , τότε θα έχει και την class που το συνοδεύει η οποία θα περιλαμβάνει την σχετική "Save" function.

    Οι ενέργεις search/filter όμως μπορούν να είναι πιο έξυπνες και να λειτουργούν για όλα τα grid.  

    Τωρα όσο για το strategy pattern το έψαξα λίγο αλλά δεν μπορώ να βρώ κάτι σχετικό, θα συνεχίσω την αναζήτηση.

    Για να γίνω λίγο πιο συγκεκριμένος και να πάω το θέμα και λίγο παρακάτω, δείτε την παρακάτω εικόνα:


    Οπότε , φτιάχνω μια φορά το παράθυρο και μετά αλλάζω grid & forms.
    Το ίδιο παράθυρο λοιπόν θα μπορεί να "διαχειριστεί" , πελάτες, προϊόντα, κλπ. Φυσικά το κάθε ένα από αυτά θα έχει και τις ιδιαιτερότητες του που τις κουβαλάει σε κάθε ενέργεια (insert,update,delete),
    π.χ. δεν διαγράφουμε ένα προϊόν που έχει κινηθεί.


    Ελπίζω να έγινα κατανοητός.

    Ευχαριστώ



  •  27-10-2011, 12:22 67926 σε απάντηση της 67924

    Απ: "Προσχεδιασμένα" grid και "κοινή" form

    Συνημμένα: StrategyPatternDemo.zip

    Όχι διαφωνώ μαζί σου Δήμο. Νομίζω ότι κατάλαβα τι θέλει να κάνει και η σωστή λύση σε αυτό που ζητάει είναι το strategy pattern αν και εφόσων δεν θέλει να μπλέξει με τα if και else για να βρει πιο grid είναι το τρέχων στην φόρμα.

    greko σου έφτιαξα ένα μικρό, βασικό project για να καταλάβεις πως θα φτιάξεις την δομή της εφαρμογής και να γνωρίσεις το pattern. Νομίζω είναι αυτό που θέλεις.

  •  27-10-2011, 12:55 67927 σε απάντηση της 67926

    Απ: "Προσχεδιασμένα" grid και "κοινή" form

    Ευχαριστώ πολύ, που θα βρω το project που έφτιαξες;

    Επίσης, δεν νομίζω ότι χρειάζονται if..then..else , αλλά θα περιμένω να δώ την λογική που περιγράφεις για να επανέλθω.



  •  27-10-2011, 13:12 67928 σε απάντηση της 67927

    Απ: "Προσχεδιασμένα" grid και "κοινή" form

    Είναι συνημμένο στο post που έκανα.
  •  27-10-2011, 13:16 67929 σε απάντηση της 67928

    Απ: "Προσχεδιασμένα" grid και "κοινή" form

    Ουπς, συγνώμη, ουτε που το πρόσεξα οτι κάτι υπήρχε κάτω από τον τίτλο του ποστ.
  •  27-10-2011, 13:21 67930 σε απάντηση της 67929

    Απ: "Προσχεδιασμένα" grid και "κοινή" form

    Ακριβώς!  Μπράβο! Ευχαριστώ

    Με την ίδια λογική μπορώ να έχω και την φόρμα με τα πεδία να υποθέσω;

    Ωστε η εγγραφή που διαλέγω στο grid να εμφανίζεται στην φόρμα;




  •  27-10-2011, 13:41 67931 σε απάντηση της 67930

    Απ: "Προσχεδιασμένα" grid και "κοινή" form

    Ναι, με την ίδια. Απλά δεν είναι φόρμα αλλά user controls τα οποία μπαίνουν επάνω σε φόρμα.
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems